Unifying discoverability of a website&#39;s services

ABSTRACT

Various embodiments provide a unified discovery control that can be incorporated as part of a web browser. The unified discovery control provides a central location that describes various services that a website has to offer. In addition, the unified discovery control can allow the user to interact with the individual services that the website has to offer as by providing the user with the ability to add, update, uninstall and/or otherwise manage the various services that are described in the unified discovery control. Thus, the unified discovery control provides a centralized management system that provides the user with a common, predictable and repeatable user experience for interacting with various services that a website can offer.

BACKGROUND

Websites can typically provide various services that can be consumed byan individual via their web browser. Such services can include providingsearch capabilities via a search engine, offering tool bars forinstallation, offering feeds such as RSS feeds, and a variety of otherservices. As varied as these services are, so too is the user experienceinsofar as discovering particular services that are offered, installinga particular service and managing the service once the service isinstalled. For example, various services might be offered at variousphysical locations on a web page. This requires the user to hunt andfind services in which they may be interested. In addition, once aservice is installed, the user experience insofar as interacting withthe service—for example to manage the service—is often very specific tothat service and varies as between other different services. Hence, inthe case of multiple installed services, the user experience is oftendisparate and disjointed.

SUMMARY

Various embodiments provide a unified discovery control that can beincorporated as part of a web browser. The unified discovery controlprovides a central location that describes various services that awebsite has to offer. In addition, the unified discovery control canallow the user to interact with the individual services that the websitehas to offer as by providing the user with the ability to add, update,uninstall and/or otherwise manage the various services that aredescribed in the unified discovery control.

In at least some embodiments, a visual overlay indicator is provided andis utilized to visually notify a user of where a particular added orinstalled service can be found in the web browser's user interface.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system in which the inventive principles can beemployed in accordance with one embodiment.

FIG. 2 illustrates a portion of an exemplary browser user interface inaccordance with one embodiment.

FIG. 3 illustrates an exemplary unified discovery control in accordancewith one embodiment.

FIG. 4 illustrates an exemplary visual indication that indicates where auser can find a particular added service in accordance with oneembodiment.

FIG. 5 illustrates an exemplary user interface for managing variousservices in accordance with one embodiment.

FIG. 6 is a flow diagram that describes steps in a method in accordancewith one embodiment.

DETAILED DESCRIPTION

Overview

Various embodiments provide a unified discovery control that can beincorporated as part of a web browser. The unified discovery controlprovides a central location that describes various services that awebsite has to offer. In addition, the unified discovery control canallow the user to interact with the individual services that the websitehas to offer as by providing the user with the ability to add, update,uninstall and/or otherwise manage the various services that aredescribed in the unified discovery control.

In at least some embodiments, a visual overlay indicator is provided andis utilized to visually notify a user of where a particular added orinstalled service can be found in the web browser's user interface.

The unified discovery control provides a centralized management systemthat provides the user with a common, predictable and repeatable userexperience for interacting with various services that a website canoffer. In the discussion that follows, a section entitled “ExemplarySystem” is provided and describes but one exemplary system in which theinventive embodiments can be utilized. Following this, a sectionentitled “Discovering a Website's Services” is provided and describesvarious ways in which a website's services can be discovered. Followingthis, a section entitled “Exemplary Unified Discovery Control” isprovided and illustrates, by way of example and not limitation, one wayin which a unified discovery control can be implemented.

Exemplary System

FIG. 1 illustrates a system in accordance with one embodiment generallyat 100. System 100 includes a computing device 102 having one or moreprocessors 104, one or more computer-readable media 106 and one or moreapplications 108 that reside on the computer-readable media and whichare executable by the processor(s). In addition, computing device 102includes an application in the form of a web browser 110. Any suitablyconfigured web browser can be utilized examples of which arecommercially available from the assignee of this document, as well asothers.

In one or more embodiments, the web browser includes or otherwise makesuse of a unified discovery control 112 which functions as describedabove and below. It is to be appreciated and understood that while theunified discovery control is depicted as comprising part of the webbrowser itself, the unified discovery control could comprise astandalone component whose functionality is utilized by the web browser.

Although computing device 102 is illustrated in the form of a desktopcomputer, it is to be appreciated and understood that other computingdevices can be utilized without departing from the spirit and scope ofthe claimed subject matter. For example, other computing devices caninclude, by way of example and not limitation, portable computers,handheld computers such as personal digital assistants (PDAs), cellphones and the like.

Having introduced the general notion of a unified discovery control,consider now some different ways in which the unified discovery controlcan discover which services a particular website has to offer.

Discovering a Website's Services

As noted above, websites can offer a variety of services. Services cancome in many shapes and sizes and can include, by way of example and notlimitation, search services, subscription services, extension services,roaming services, services for discovering structured data, multimediadownload services, feed services, file upload services, link sharingservices, product finding services, address mapping services and thelike.

One way in which the unified discovery control can discover whichservices a website offers is by examining the various web pagedescriptions that it receives when a user navigates to a particularsite. For example, web pages are typically described using ahierarchically, tagged-based language such as HTML. When the web browserreceives a web page's HTML, it typically parses the HTML prior torendering the web page for the user. In one or more embodiments, when aweb page's HTML is parsed, the unified discovery control can look forservice descriptions in the HTML. For example, the various servicedescriptions might be delineated by individual tags that are specific tothe service type, or are more generally associated with the servicesthat are offered by the website. Once the unified discovery control hasascertained which services are offered, the discovery control can causea user interface component to be rendered which indicates the presenceof these services for the user. One example of such a user interfacecomponent is provided below.

Another way in which the unified discovery control can discover whichservices a website offers is by examining and analyzing the content of aweb page itself as by applying a set of heuristics to a web page.Specifically, in some instances the services that a website offers mightnot be readily apparent from its associated HTML. In this case, theunified discovery control can examine a page and look forcharacteristics associated with a service. For example, an embeddedhyperlink can serve as an indication of a service. Alternately oradditionally, the unified discovery control can search for the text“download” and whether there is a link to a “exe” associated with it.

Regardless of the manner in which services are discovered, oncediscovered, the unified discovery control can present a user interfaceexperience that allows the user to ascertain which services are offeredand to interact in a more centralized, meaningful way with the website'sservices.

Exemplary Unified Discovery Control

In one or more embodiments, once the various services that a websiteoffers are discovered, the unified discovery control can present a userinterface component that informs a user that the website offers one ormore services.

As an example, consider FIG. 2 which illustrates a portion of anexemplary browser user interface generally at 200. In this example, userinterface 200 includes a service button 202. In one or more embodiments,when a website has one or more services that it offers, the servicebutton 202 can be rendered in a visually distinctive way to inform auser that one or more services are offered. For example, in at leastsome embodiments, the service button 202 can be rendered so that itglows, thus attracting the attention of the user.

In this particular example, when the user hovers their cursor over theservice button 202, a portion of the unified discovery control 204 dropsdown to expose the various services that are offered by the website. Inone or more embodiments, the various services that are offered by awebsite can be organized and arranged by service type in differentservice type categories. Thus, in this example, the following servicetypes categories are exposed for the user: search provider servicetypes, feed service types, structured data service types (which is aservice that allows a user to discover structured data on a web page),and add-on service types. In addition, in at least some embodiments, theunified discovery control allows the user to manage their particularservices through a “Manage Services” tab which is described below inmore detail.

In one or more embodiments, the individual buttons or tabs associatedwith the individual service types can have multiple different states.For example, if there are any new services that the user has not seen,the service type button can glow to attract the user's attention.Additionally, if there are services available that the user has alreadyseen, the button can be visible but not glowing. If there are noservices available for a particular service type, the button for thecorresponding service type category can be grayed out or not presentedat all.

In this example, the search provider service types are associated withone or more search providers that a website may offer. The feed servicetype is associated with any feeds that the website offers forsubscription. The structured data service type is associated withenabling the user to locate structured data that appears on the webpage. The add-on service type is associated with various extensions thatcan be added on such as, for example, tool bars and the like.

In this example, once the user has hovered their cursor over servicebutton 202, they can further ascertain which particular services areoffered under any given service type category by specifically hoveringtheir cursor over the particular service type. As an example, considerFIG. 3.

There, unified discovery control 204 is shown in isolation apart fromthe web browser user interface. Notice here that the user has hoveredtheir cursor over the search provider type. Responsively, the variousoffered search providers are exposed via a drop down menu which alsoexposes one or more management instrumentalities. In this example, themanagement instrumentality is an “add” button which allows the user toadd the particular service. Once the user adds a particular service, theservice can be added to their browser and used—even when the usernavigates away from the site.

In one or more embodiments, when a user adds a particular service, theunified discovery control provides a visual indication of where the usercan find the particular service in their web browser. As an example,consider FIG. 4 in connection with the above example. Assume in the FIG.3 example that the user has selected to add the search provider“Live.com”. Since the added service is a search provider, the searchprovider control—in this case, a magnifying glass—is rendered in avisually distinct way. In this particular example, a visual overlaycontrol 400 in the form of a bright star is rendered over the control tovisually draw the user's eye to the control. It is to be appreciated andunderstood that any suitable visual indication can be utilized to notifya user as to where to find a newly added service.

Accordingly, the unified discovery control provides a single place inwhich all of the website's services can be listed and discovered by theuser. Thus, users do not have to hunt around a particular web page tofind services in which they may be interested.

As briefly mentioned above, in one or more embodiments, the unifieddiscovery control can provide a number of different managementinstrumentalities that can be used by the user to manage or otherwiseinteract with the services that are described in the control. Forexample, one instrumentality can provide an indication that the user isalready subscribed to a particular service. In this example, amanagement instrumentality can be rendered next to the listed serviceand can indicate “subscribed”. Another management instrumentality canindicate that there is an update to a particular service. In thisexample, an instrumentality can indicate “update”. Thus, by clicking onthe “update” instrumentality, the service can be automatically updated.

Further, as will be appreciated by the skilled artisan, services ofwhich the web browser is unaware can be offered using the mechanismsdescribed above. That is, as new services evolve, the mechanismsdescribed above can be utilized to discover and present such services tovarious users for consumption. In this sense, in at least someembodiments, the unified discovery control can provide an easilyextensible tool that service designers can utilize to advertise theirrespective services for consumption.

As noted above, the unified discovery control also provides, in at leastsome embodiments, functionality that enables a user to manage theirparticular services. Specifically, recall in FIGS. 2 and 3 that a“Manage Services” tab appears in the control. By selecting this tab, anew dialog can be presented to the user that enables the user to managetheir services.

As an example, consider FIG. 5 which illustrates an exemplary userinterface 500 for managing various services in accordance with oneembodiment. In this example, user interface 500 can allow individualusers to see all of the services that they have installed, receiveupdates, enable/disable a service, and uninstall a service. In thisexample, each service has its type, name, source, user name and anyassociated passwords listed. Accordingly, using this interface, a usercan not only view all of their installed services, but they can editcredentials as well. In at least some embodiments, search functionalityis provided in the form of a search box 502 that can enable a user tosearch for a particular service using a text-based search.

FIG. 6 is a flow diagram that describes steps in a method in accordancewith one embodiment. The method can be implemented in connection withany suitable hardware, software, firmware or combination thereof. In atleast some embodiments, the method can be implemented in connection witha system, such as the system that is shown and described in FIG. 1. Itis to be appreciated and understood that other systems can be utilizedwithout departing from the spirit and scope of the claimed subjectmatter.

Step 600 receives one or more web page descriptions. Any suitable webpage descriptions can be utilized. In at least some embodiments, the webpage descriptions reside in the form of HTML descriptions. Alternatelyor additionally, some other types of web markup language could be usedsuch as XHTML. Step 602 identifies, from the web page description(s),one or more services that are offered by the web page or its associatedweb site. An example of how this can be done is provided above. Step 604renders a user interface that is configured to describe one or moredifferent types of service. Any suitable user interface and method ofpresenting a user interface can be utilized. In the above example, theuser interface resides in the form of a hover-exposed, drop down menuthat presents multiple different service type categories under whichindividual instances of offered services are listed for the user, alongwith instrumentalities that enable a user to interact in a meaningfulway with the services. It is to be appreciated and understood that othertypes of user interfaces can be utilized without departing from thespirit and scope of the claimed subject matter. For example, the userinterface could take the form of a sidebar that is docked verticallyadjacent the browser window. Other configurations are, of course,possible.

CONCLUSION

Various embodiments described above provide a unified discovery controlthat can be incorporated as part of a web browser. The unified discoverycontrol provides a central location that describes various services thata website has to offer. In addition, the unified discovery control canallow the user to interact with the individual services that the websitehas to offer as by providing the user with the ability to add, update,uninstall and/or otherwise manage the various services that aredescribed in the unified discovery control. In at least someembodiments, a visual overlay indicator is provided and is utilized tovisually notify a user of where a particular added or installed servicecan be found in the web browser's user interface.

Thus, the unified discovery control provides a centralized managementsystem that provides the user with a common, predictable and repeatableuser experience for interacting with various services that a website canoffer.

Although the invention has been described in language specific tostructural features and/or methodological steps, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or steps described. Rather, thespecific features and steps are disclosed as preferred forms ofimplementing the claimed invention.

The invention claimed is:
 1. One or more computer-readable media devicesembodying computer-readable instructions which, when executed, implementa control comprising: a unified discovery control that is configured to:receive a request to access a website; prior to rendering the website,parse markup language of the website to locate service descriptions ofservices that are offered by the website; and provide a central locationthat describes the services that are offered by the website, the unifieddiscovery control configured to render a user interface componentcomprising a service button that indicates the presence of the servicesthat are offered by the website, the service button configured to rendera service list that lists the services that are offered by the website,the service list including a user interface element that allows a userto manage one or more of the services that are offered by the website,and the one or more services that are offered by the website arranged indifferent service type catagories.
 2. The one or more computer-readablemedia devices of claim 1, wherein the unified discovery control isconfigured to enable a user to add, update and uninstall a particularone of the services that are offered by the website.
 3. The one or morecomputer-readable media devices of claim 1, wherein the unifieddiscovery control is configured to provide a visual overlay indicator tovisually notify a user of where a particular one of the services thatare offered by the website is located.
 4. The one or morecomputer-readable media devices of claim 1, wherein the unifieddiscovery control is configured to discover the services that areoffered by the website by examining web page descriptions associatedwith website.
 5. The one or more computer-readable media of mediadevices 1, wherein the user-selectable tab is selectable to provide adialog that: lists one or more of the services that are offered by thewebsite to which a user a user has subscribed; enables the user toreceive service updates; enables the user to enable/disable servicesthat are offered by the website; and enables the user to uninstall theservices that are offered by the website.
 6. The one or morecomputer-readable media devices of claim 1, wherein the user interfaceelement is selectable to provide a dialog that lists the services thatoffered by the website by type, name, source and user name.
 7. The oneor more computer-readable media devices of claim 1, wherein the userinterface element is selectable to provide a dialog that lists one ormore of the services that are offered by the website to which a user hassubscribed and provides search functionality that can enable a user tosearch for a particular service using a text-based search.
 8. Acomputing device embodying the computer-readable media of claim
 1. 9. Asystem comprising: one or more computer-readable media devices;instructions on the one or more computer-readable media devicesimplementing a web browser having a unified discovery control that isconfigured to: receive a request to access a website; prior to renderingthe website, ascertain services that are offered by the website byparsing markup language of the website to locate service descriptions ofservices that are offered by the website; and present a user interfacethat lists, in a central location, the services that are offered by thewebsite, the unified discovery control configured to list the servicesin accordance with selectable service type categories and includes auser interface element that allows a user to manage the services thatare offered by the website to which the user has subscribed.
 10. Thesystem of claim 9, wherein the unified discovery control is configuredto provide a visual overlay indicator to visually notify the user ofwhere a particular one of the services that are offered by the websiteis located.
 11. A computer-implemented method comprising: receiving arequest to access a website; prior to rendering the website, parsingmarkup language of the website to locate one or more web pagedescriptions associated with the website; identifying, from the web pagedescription(s), one or more services that are offered by the website;and rendering a user interface that is configured to describe, in acentral location, the one or more services that are offered by thewebsite, the user interface including a service button that indicatesthe presence of the one or more services that are offered by thewebsite, the service button configured to render a service list thatlists the one or more services that are offered by the website theservice list including a user interface element that allows a user tomanage one or more of the services that are offered by the website, andone or more services that are offered by the website arranged inmultiple different service type categories.
 12. The method of claim 11,wherein the act of rendering is performed by rendering a hover-exposed,drop down menu that presents the one or more services that are offeredby the website.
 13. The method of claim 11, wherein the acts ofreceiving, identifying and rendering are performed, at least in part, bya web browser.